//package com.fanqwz.kotlinmvvm.presenter.viewmodel
//
//import android.databinding.ObservableField
//import android.os.Bundle
//import android.os.Parcelable
//import android.view.View
//import com.fanqwz.kotlinmvvm.data.entity.User
//import com.fanqwz.kotlinmvvm.data.web.Backend
//import com.fanqwz.kotlinmvvm.data.web.RequestHeader
//import com.fanqwz.kotlinmvvm.data.web.RequestTemplate
//import com.fanqwz.kotlinmvvm.common.util.rxjava.SingleThreadComposer
//import com.google.gson.JsonObject
//import io.realm.Realm
//import org.parceler.Parcels
//import java.io.File
//import javax.inject.Inject
//
///**
// * Created by fanqwz on 2017/10/31.
// */
//
//class MainModel @Inject constructor(val backend: Backend,
//                                    val realm: Realm) : BaseViewModel() {
//    val text = ObservableField<String>("hehehe")
//    val onClick = View.OnClickListener { text.set("hahahahahahah") }
//
//    override fun onStart() {
//        super.onStart()
//        val json = JsonObject()
//        json.addProperty("userNo", "PK004")
//        json.addProperty("userPwd", "")
//        backend.login(RequestTemplate(json, RequestHeader("check_001", "")))
//                .map { it.body!! }
//                .compose(SingleThreadComposer())
//                .doOnSubscribe {
//                    logger.error("on subscribe")
//                }
//                .doOnSuccess {
//                    logger.error("on success")
//                }
//                .doOnError {
//                    logger.error("on error:$it")
//                }
//                .subscribe { t: User ->
//                    logger.error("on next:$t")
//                }
//
//        val file = File("/sdcard/abc/log")
//        try {
//            file.mkdirs()
//        } catch (e: Exception) {
//            e.printStackTrace()
//        }
//        logger.error("test " + file.exists())
//
////        User().apply { name = "hehehe"; code = "dfasdfas" }
////                .save()
////
////        val list = User()::query { it.equalTo("name", "hehehe")}
////        logger.trace("$list")
//    }
//
//    override fun onSaveState(bundle: Bundle) {
//        super.onSaveState(bundle)
//        val user = User().apply { name = "hahahahaha"; code = "1234" }
//        var parcel = Parcels.wrap(user)
//        bundle.putParcelable("user", parcel)
//
//    }
//
//    override fun onRestoreState(bundle: Bundle) {
//        super.onRestoreState(bundle)
//        val parcel:Parcelable = bundle.getParcelable("user")
//        val user1 = Parcels.unwrap<User>(parcel)
//        logger.error("parcel:$user1")
//    }
//}
